﻿Option Explicit On
Option Strict On
''' <summary>
''' Clase jugador, capa de datos
''' </summary>
''' <remarks></remarks>
Public Class JUGADOR
    Private _Nombre As String
    Private _direccion As String
    Private _telefono As String
    Private _observaciones As String

    Public Sub New(ByVal nombre As String, ByVal direccion As String, ByVal telefono As String, ByVal observaciones As String)

        If ValidarCadena(nombre, 30, True) Then
            _Nombre = nombre
        Else
            Throw New ArgumentException("El nombre no puede estar vacío o exceder de 30 carácteres")
        End If

        If ValidarCadena(direccion, 30, True) Then
            _direccion = direccion
        Else
            Throw New ArgumentException("La dirección no puede estar vacía o exceder de 30 carácteres")
        End If

        If ValidarCadena(telefono, 12, True) Then
            _telefono = telefono
        Else
            Throw New ArgumentException("El teléfono no puede estar vacío o exceder de 12 carácteres")
        End If

        If ValidarCadena(observaciones, 240, False) Then
            _observaciones = observaciones
        Else
            Throw New ArgumentException("Las observaciones no pueden exceder de 240 carácteres")
        End If

        'Insertar en bbdd
        Dim bd As BDD
        Try
            bd = New BDD()
            bd.Open()
            If bd.Insertar("INSERT INTO JUGADORES (nombre, direccion, telefono, observaciones) VALUES ('" & nombre & "' ,'" & direccion & "' ,'" & telefono & "' ,'" & observaciones & "' )") <= 0 Then
                Throw New ArgumentException("Error insertando en la base de datos:" & vbCrLf & "Se han insertado 0 filas")
            End If
        Catch ex As Exception
            Debug.WriteLine("Error: " + ex.Message)
            Throw ex
        Finally
            bd.Close()
        End Try
    End Sub

End Class
